//遍历数组求和
// 累加求和
// 值的遍历和累积运算

let arr = [1, 2, 3];
// let sum = 0;
// for (let i = 0; i < arr.length; i++) {
//   sum += arr[i];
// }
// console.log(sum);
//  累加的初始值  sum是累加的对象  value是每一项
// 每次函数体执行都是独立的
// let result = arr.reduce((sum, value) => {
//   sum += value;
//   return sum; //一定要return 下次循环的sum的初始值
// }, 0); // 累加的初始值

// 方法的返回值是累加的和 sum
// console.log(result);

// 练习

let arr2 = [13, 2, 0];
let res = arr2.reduce((sum, value) => {
  sum = sum + value;
  return sum;
}, 0);

console.log(res);

let brr = ["小莫", "小星"];

let newBrr = brr.reduce((sum, value) => {
  sum = sum + value;
  return sum;
}, "");

console.log(newBrr);

let crr3 = [
  {
    name: "小莫",
    age: 20,
  },
  {
    name: "小名",
    age: 16,
  },
  {
    name: "小黑",
    age: 13,
  },
];

// let ageSum = crr3.reduce((sum, value) => {
//   sum = sum + value.age;
//   return sum;
// }, 0);
// console.log(ageSum);

let ageSum = crr3.reduce((sum, value) => {
  if (value.age < 18) {
    sum = sum + value.age;
  }
  return sum;
}, 0);
console.log(ageSum);
